package itheima03;

import java.io.File;

/*
    搜索day10\\io\\ab 目录中的 .txt 文件。

    步骤:
        1.创建目录代表的File对象
        2.定义方法listTxtFileNames,作用递归遍历输出文件夹中的txt文件
        3.调用方法listTxtFileNames,传递目录代表的File对象

    toLowerCase(): 把字符串变成小写
    toUpperCase(): 把字符串变成大写

 */
public class Demo04SearchTxtFiles {
    public static void main(String[] args) {
        //1.创建目录代表的File对象
        File dir = new File("day10\\io\\ab");

        //3.调用方法listTxtFileNames,传递目录代表的File对象
        listTxtFileNames(dir);
    }
    /*
        递归遍历输出文件夹中的txt文件
        步骤:
            1.目录路径File对象dir,调用listFiles,获取目录中的所有File对象,组成的File数组
            2.遍历File数组
            3.获取当前File对象
            4.如果当前File对象是文件,而且扩展名是.txt,打印文件名
            5.如果当前File对象是文件夹,递归调用本方法,参数传递当前File对象
     */
    public static void listTxtFileNames(File dir) {
        //1.目录路径File对象dir,调用listFiles,获取目录中的所有File对象,组成的File数组
        File[] files = dir.listFiles();

        //2.遍历File数组
        for (File file : files) {
            //3.获取当前File对象: file
            //4.如果当前File对象是文件,而且扩展名是.txt,打印文件名 a.txt
            if(file.isFile() && file.getName().toLowerCase().endsWith(".txt")) {
                System.out.println(file.getName());
            } else if(file.isDirectory()){
                //5.如果当前File对象是文件夹,递归调用本方法,参数传递当前File对象
                System.out.println(file);
                listTxtFileNames(file);
            }

        }
    }

}
